package com.ruoyi.service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.domain.TemplateInfo;
import com.ruoyi.mapper.TemplateInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 保函模板管理Service业务层处理
 *
 * @author ruoyi
 * @date 2021-07-26
 */
@SuppressWarnings("ALL")
@Service
public class TemplateInfoService extends ServiceImpl<TemplateInfoMapper, TemplateInfo> {
    @Autowired
    private TemplateInfoMapper templateInfoMapper;

    /**
     * 查询保函模板管理
     *
     * @param templateId 保函模板管理ID
     * @return 保函模板管理
     */
    public TemplateInfo selectTemplateInfoById(Long templateId) {
        return templateInfoMapper.selectById(templateId);
    }

    /**
     * 查询保函模板管理列表
     *
     * @param templateInfo 保函模板管理
     * @return 保函模板管理
     */
    public List<TemplateInfo> selectTemplateInfoList(TemplateInfo templateInfo) {
        return templateInfoMapper.selectTemplateInfoList(templateInfo);
    }

    /**
     * 新增保函模板管理
     *
     * @param templateInfo 保函模板管理
     * @return 结果
     */
    public int insertTemplateInfo(TemplateInfo templateInfo) {
        templateInfo.setCreateTime(DateUtils.getNowDate());
        return templateInfoMapper.insert(templateInfo);
    }

    /**
     * 修改保函模板管理
     *
     * @param templateInfo 保函模板管理
     * @return 结果
     */
    public int updateTemplateInfo(TemplateInfo templateInfo) {
        templateInfo.setUpdateTime(DateUtils.getNowDate());
        return templateInfoMapper.updateById(templateInfo);
    }

    /**
     * 批量删除保函模板管理
     *
     * @param templateIds 需要删除的保函模板管理ID
     * @return 结果
     */
    public int deleteTemplateInfoByIds(Long[] templateIds) {
        List<Long> collect = Arrays.stream(templateIds).collect(Collectors.toList());
        return templateInfoMapper.deleteBatchIds(collect);
    }

    /**
     * 删除保函模板管理信息
     *
     * @param templateId 保函模板管理ID
     * @return 结果
     */
    public int deleteTemplateInfoById(Long templateId) {
        return templateInfoMapper.deleteById(templateId);
    }
}